
#ifndef JUEGO_H_
#define JUEGO_H_

#include <string>
#include "../ui/Ventana.h"
#include "../ui/Canvas.h"
#include "../parser/PersistenciaCanvas.h"
#include "../parser/CreadorCanvas.h"
#include "../fisica/Mundo.h"
#include "../parser/AreaOtorgada.h"
#include "../parser/ElementoDisponibleJugador.h"
using namespace std;

class Juego {

public:

	Juego(string);
	void comenzar();
	~Juego();

	int getNroJugador() {
		return nroJugador;
	}

	void setNroJugador(int nroJugador) {
		this->nroJugador = nroJugador;
	}

	AreaOtorgada* getAreaJugador(){
		return areaJugador;
	}

	void setAreaJugador(AreaOtorgada* areaJugador) {
		this->areaJugador = areaJugador;
	}

	list<ElementoDisponibleJugador*>* getElementosDisponiblesJugador(){
		return elementosDisponiblesJugador;
	}

	void setElementosDisponiblesJugador(
			list<ElementoDisponibleJugador*>* elementosDisponiblesJugador) {
		this->elementosDisponiblesJugador = elementosDisponiblesJugador;
	}

	int getNroNivel() {
		return nroNivel;
	}

	void setNroNivel(int nroNivel) {
		this->nroNivel = nroNivel;
	}

private:
	CreadorCanvas* creadorCanvas;
	Ventana *ventana;
	Canvas *canvas;
	PersistenciaCanvas *persistencia;
	string path;
	Mundo* mundo;
	int idActual;
	int idCliente;
	int nroJugador;
	int nroNivel;
	AreaOtorgada *areaJugador;
	list<ElementoDisponibleJugador*>* elementosDisponiblesJugador;


};


#endif /* JUEGO_H_ */
